home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xml / ExternalSubset.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  4.8 KB  |  186 lines

  1. package com.extensibility.xml;
  2.  
  3. import com.extensibility.util.Debug;
  4. import java.util.Enumeration;
  5. import java.util.Vector;
  6. import javax.swing.tree.TreeNode;
  7.  
  8. public class ExternalSubset extends BaseDeclaration implements TreeNode, Cloneable {
  9.    Vector kids = new Vector();
  10.    ExternalSubset parent;
  11.    URI sys;
  12.    CommentList moduleComments;
  13.  
  14.    public ExternalSubset(ExternalSubset var1, String var2, URI var3, URI var4) {
  15.       super(var2);
  16.       this.sys = var3;
  17.       ((BaseDeclaration)this).setURI(var4);
  18.       this.parent = var1;
  19.       if (var1 != null) {
  20.          var1.addChild(this);
  21.       }
  22.  
  23.    }
  24.  
  25.    public ExternalSubset(ExternalSubset var1, ParameterEntityDeclaration var2) {
  26.       super(((BaseDeclaration)var2).getName());
  27.       this.sys = ((EntityDeclaration)var2).getSystemID();
  28.       ((BaseDeclaration)this).setURI(((BaseDeclaration)var2).getURI());
  29.       this.parent = var1;
  30.       if (var1 != null) {
  31.          var1.addChild(this);
  32.       }
  33.  
  34.    }
  35.  
  36.    public Object clone() {
  37.       ExternalSubset var1 = null;
  38.  
  39.       try {
  40.          var1 = (ExternalSubset)super.clone();
  41.          if (this.kids != null) {
  42.             var1.kids = new Vector();
  43.             Enumeration var2 = this.kids.elements();
  44.  
  45.             while(var2.hasMoreElements()) {
  46.                var1.kids.addElement(((ExternalSubset)var2.nextElement()).clone());
  47.             }
  48.          }
  49.       } catch (CloneNotSupportedException var3) {
  50.          Debug.assert(false, "Problem cloning ExternalSubset.");
  51.       }
  52.  
  53.       return var1;
  54.    }
  55.  
  56.    public String getClassName() {
  57.       return "com.extensibility.xml.ExternalSubset";
  58.    }
  59.  
  60.    public void addChild(ExternalSubset var1) {
  61.       this.kids.addElement(var1);
  62.    }
  63.  
  64.    public Enumeration children() {
  65.       return this.kids.elements();
  66.    }
  67.  
  68.    public boolean getAllowsChildren() {
  69.       return !this.isLeaf();
  70.    }
  71.  
  72.    public TreeNode getChildAt(int var1) {
  73.       return (TreeNode)this.kids.elementAt(var1);
  74.    }
  75.  
  76.    public int getChildCount() {
  77.       return this.kids.size();
  78.    }
  79.  
  80.    public int getIndex(TreeNode var1) {
  81.       return this.kids.indexOf(var1);
  82.    }
  83.  
  84.    public TreeNode getParent() {
  85.       return this.parent;
  86.    }
  87.  
  88.    public void setModuleComments(Vector var1) {
  89.       if (this.moduleComments == null) {
  90.          this.moduleComments = new CommentList(var1);
  91.       } else {
  92.          this.moduleComments.setComments(var1);
  93.       }
  94.  
  95.    }
  96.  
  97.    public CommentList getModuleComments() {
  98.       return this.moduleComments;
  99.    }
  100.  
  101.    public ExternalSubset findNamedChild(String var1) {
  102.       if (((BaseDeclaration)this).getName().equals(var1)) {
  103.          return this;
  104.       } else {
  105.          Enumeration var2 = this.children();
  106.  
  107.          while(var2.hasMoreElements()) {
  108.             ExternalSubset var3 = (ExternalSubset)var2.nextElement();
  109.             ExternalSubset var4 = var3.findNamedChild(var1);
  110.             if (var4 != null) {
  111.                return var4;
  112.             }
  113.          }
  114.  
  115.          return null;
  116.       }
  117.    }
  118.  
  119.    public ExternalSubset findParent(URI var1) {
  120.       if (this.getSystemURI().equals(var1)) {
  121.          return this;
  122.       } else {
  123.          Enumeration var2 = this.children();
  124.  
  125.          while(var2.hasMoreElements()) {
  126.             ExternalSubset var3 = (ExternalSubset)var2.nextElement();
  127.             ExternalSubset var4 = var3.findParent(var1);
  128.             if (var4 != null) {
  129.                return var4;
  130.             }
  131.          }
  132.  
  133.          return null;
  134.       }
  135.    }
  136.  
  137.    public void removeFromParent() {
  138.       this.parent.removeChild(this);
  139.    }
  140.  
  141.    public void removeChild(ExternalSubset var1) {
  142.       this.kids.removeElement(var1);
  143.    }
  144.  
  145.    public boolean isLeaf() {
  146.       return this.kids.size() == 0;
  147.    }
  148.  
  149.    public String getSource() {
  150.       return String.valueOf(String.valueOf(String.valueOf("%").concat(String.valueOf(super.name))).concat(String.valueOf(";"))).concat(String.valueOf(BaseDeclaration.LINE_SEPARATOR));
  151.    }
  152.  
  153.    public URI getSystemURI() {
  154.       return this.sys;
  155.    }
  156.  
  157.    public void setSystemURI(URI var1) {
  158.       this.sys = var1;
  159.    }
  160.  
  161.    public void updateSystemURIAsNeeded(URI var1, URI var2) {
  162.       if (this.sys.equals(var1)) {
  163.          this.setSystemURI(var2);
  164.       }
  165.  
  166.       for(int var3 = 0; var3 < this.getChildCount(); ++var3) {
  167.          ((ExternalSubset)this.getChildAt(var3)).updateSystemURIAsNeeded(var1, var2);
  168.       }
  169.  
  170.    }
  171.  
  172.    public Vector getPrerequisites(SchemaIntf var1) {
  173.       Vector var2 = super.getPrerequisites(var1);
  174.       ExternalPEDeclaration var3 = (ExternalPEDeclaration)var1.getNamedDeclaration(((BaseDeclaration)this).getName(), Class.forName("com.extensibility.xml.ExternalPEDeclaration"));
  175.       if (var3 != null) {
  176.          var2.addElement(var3);
  177.       }
  178.  
  179.       return var2;
  180.    }
  181.  
  182.    public boolean isSubordinate(BaseDeclaration var1) {
  183.       return var1.getURI().equals(this.getSystemURI());
  184.    }
  185. }
  186.